#include <iostream>
#include "UdpServer.hpp"
#include "Dict.hpp"
#include <memory>
int main(int argc,char *argv[])
{
    if(argc!=2)
    {
        std::cerr << "Usage: "<< argv[0] << "local_port" << std::endl;
        exit(0);
    }
    uint16_t _port=std::stoi(argv[1]);
    EnableScreen();//启用屏幕日志,调用log.hpp中#define EnableScreen()

    Dict dict("./dict.txt");
    func_t translate=std::bind(&Dict::Translate,&dict,std::placeholders::_1);//dict 对象和 Translate 成员函数建立了关联，使得我们可以像调用普通函数一样调用 translate

    std::unique_ptr<UdpServer> usvr=std::make_unique<UdpServer>(translate,_port);//创建 UDP 服务器对象,C++14特性//一个 func_t 类型的 translate 函数对象和一个 uint16_t 类型的 _port 变量
    usvr->InitServer(); // usvr 是一个 std::unique_ptr<UdpSever> 类型的智能指针
    usvr->Start();  //通过指针访问成员函数
    return 0;
}